Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Επιλογή υποσυνόλου από Dataset

Îåêßíçóå áðü ôï ìÝëïò Harkon. Τελευταία δημοσίευση από το μέλος KelMan στις 29-10-2008, 13:09. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  27-10-2008, 19:43 45796

    Επιλογή υποσυνόλου από Dataset

    Καλησπέρα σας,

    έχω κάνει Populate ένα dataset με δεδομένα από μία βάση και επιθυμώ να περάσω το dataset αυτό ως όρισμα σε μια webmethod ενός απομακρυσμένου webservice.

    Επειδή όμως κάποιες φορές το dataset είναι αρκετά μεγάλο δέχομαι timeout error. Σκέφτηκα λοιπόν αντί να κάνω πολλαπλά ερωτήματα στην βάση για να παίρνω κάθε φορά Χ εγγραφές, να πάρω υποσύνολα του dataset. Υπάρχει κάποιος τρόπος; γενικά είναι καλύτερο αυτό που πάω να κάνω ή θα μπλέξω χειρότερα; κι επίσης με ποιο κριτήριο να χωρίσω το τις εγγραφές και να πάρω αυτές τις Χ κάθε φορά; πχ έχω δει πως οι 500 εγγραφές δεν αποτυγχάνουν αλλά είναι ασφαλές συμπέρασμα αυτό ή πάλι θα υπάρχει κάποιο ρίσκο;

    σας ευχαριστώ.

    παραθέτω κομμάτι του κώδικα:

     

    Dim sql As String = "SELECT * from .Material"

    Dim cmd As New SqlCommand(sql, cnSource)

    Dim adapter As SqlDataAdapter

    adapter = New SqlDataAdapter(cmd)

    Dim dSet As New DataSet

    adapter.Fill(dSet)

    Dim result As String

    If dSet.Tables(0).Rows.Count > 0 Then

    Dim ws As New SynchWebService.Service

    result = ws.InsertMaterial(dSet) ''εδω παιρνω το timeout όταν είναι πολλές οι εγγραφές

    Else

    result = "No material found"

    End If

    adapter.Dispose()

    cnSource.Dispose()

  •  29-10-2008, 13:09 45836 σε απάντηση της 45796

    Απ: Επιλογή υποσυνόλου από Dataset

    Γενικά, μπορείς να πάρεις ένα υποσύνολο από ένα DataTable χρησιμοποιώντας τη Filter μέθοδο. Ως προς την λογική, αυτό εξαρτάται από την εφαρμογή σου, ωστόσο ως λύση, γενικά, μου βρωμάει λίγο... Πρόχειρα-πρόχειρα σκέφτομαι ότι θα πρέπει να κάνεις αρκετό housekeeping για να σιγουρέψεις ότι όλα τα data θα καταλήξουν στη βάση. Αν πετύχουν μερικά batches και αποτύχουν κάποια άλλα, τι θα κάνεις;

    Το web service είναι δικό σου; Μπορείς να επέμβεις σε αυτό; Τι είδους web service είναι; Τι exception ακριβώς σου έρχεται;


    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems